/*
 * table_VariableInfo.h
 *
 *  Created on: 2012/03/29
 *      Author: guanxiaoying
 */

#ifndef TABLE_VARIABLEINFO_H_
#define TABLE_VARIABLEINFO_H_


typedef struct {
	BOOL (*clear)( VOID );
	BOOL (*reset)( VOID );
	BOOL (*alloc)( AST );
	BOOL (*copy)( AST, AST, AST );
	AST  (*getMax)( VOID );
//	USHORT_SYMCLASS
	ACCESS_U2_FIELD  symClass;
//	IDX_GBLLINKAGE
	ACCESS_IDX_FIELD  linkage;
//	IDX_TYPEDEFINFO
	ACCESS_IDX_FIELD  type;
//	IDX_SYMNAME
//	STR_SYMNAME
	ACCESS_STR_FIELD  name;
//	IDX_LOCATION
	ACCESS_IDX_FIELD  codeScp;
//	IDX_DATASECTION
	ACCESS_IDX_FIELD  dataSection;
//	IDX_INITIALEXPLIST
	ACCESS_IDX_FIELD  initialCmdBegin;
	ACCESS_IDX_FIELD  initialCmdEnd;
//	IDX_VALUEINFO
	ACCESS_IDX_FIELD  value;
	ACCESS_U4_FIELD   offset;
	ACCESS_U4_FIELD   length;
	ACCESS_BOOL_FIELD bSizeVariable;
	ACCESS_IDX_FIELD  child;
	ACCESS_IDX_FIELD  parent;
	ACCESS_IDX_FIELD  next;
	ACCESS_IDX_FIELD  prev;
}VARIABLEINFO_ACCESS;
extern const VARIABLEINFO_ACCESS stVariableInfoAccess;

#endif /* TABLE_VARIABLEINFO_H_ */
